定期ミートアップ 第56回
Shiika bugfix
https://github.com/shiika-lang/shiika/pull/522
String#charsが壊れたオブジェクトを返す
s.chars.reverseがSEGV
原因:.classがArray<String>ではなくArray(型引数が入っていない)になっていた
code:sk
class Array<T>
def reverse -> Array<T>
let a = Array<T>.new
...
対策 https://github.com/shiika-lang/shiika/pull/522/files
BiwaScheme
以下が正しく動くことを確認した。(Wikipediaの例みたいなケース)
code:scm
(import (scheme base) (scheme cxr) (scheme write) (biwascheme er-macro))
(define-syntax assert-equal
(er-macro-transformer
(lambda (form rename compare)
\`(unless (equal? ,(cadr form) ,(caddr form))
(write (,(rename list) "failed: " ',(cdr form)))))))
(let ((list #f))
(assert-equal (+ 1 2) 4))
#定期ミートアップ